home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 501-525 / disk_510 / atcopy / janus / janus.h < prev    next >
C/C++ Source or Header  |  1992-05-06  |  3KB  |  68 lines

  1. /***********************************
  2. *                                  *
  3. * Janus.h aus Amiga INTERN         *
  4. *                                  *
  5. ***********************************/
  6.  
  7. #ifndef JANUS
  8. #define JANUS
  9. #define RPTR SHORT
  10.  
  11. #include <SetupSig.h>
  12. #include <Services.h>
  13.  
  14. struct JanusRemember
  15. {
  16.     RPTR    NextRemember;
  17.     RPTR    Offset;
  18.     USHORT    Size;
  19.     USHORT    Type;
  20.     };
  21.  
  22. #define    MEM_TYPEMASK        0x00FF
  23. #define    MEMF_PARAMETER        1
  24. #define    MEMF_BUFFER        2
  25. #define    MEM_ACCESSMASK        0x3000
  26. #define    MEM_BYTEACCESS        0x0000
  27. #define    MEM_WORDACCESS        0x1000
  28. #define    MEM_GRAPHICACCESS    0x2000
  29. #define    MEM_IOACCESS        0x3000
  30.  
  31. extern SHORT    AddService(struct ServiceData **data, ULONG appID, USHORT locID, USHORT size, USHORT type, SHORT sigNr, USHORT flags);
  32. extern void    CallService(struct ServiceData *data);
  33. extern void    DeleteService(struct ServiceData *data);
  34. extern SHORT    GetService(struct ServiceData **data, ULONG appID, USHORT locID, SHORT sigNr, USHORT flags);
  35. extern void    ReleaseService(struct ServiceData *data);
  36. extern void    UnlockServiceData(struct ServiceData *data);
  37. extern void    LockServiceData(struct ServiceData *data);
  38. extern APTR    AllocJanusMem(ULONG size, ULONG type);
  39. extern APTR    AllocJRemember(struct JanusRemember **jrememberkey, USHORT size, USHORT type);
  40. extern APTR    AllocServiceMem(struct ServiceData *data, USHORT size, USHORT type);
  41. extern void    AttachRemember(struct JanusRemember **tokey, struct JanusRemember **fromkey);
  42. extern void    FreeJanusMem(APTR ptr, ULONG size);
  43. extern void    FreeJRemember(struct JanusRemember **jrememberkey, BOOL reallyforget);
  44. extern void    FreeServiceMem(struct ServiceData *data, APTR ptr);
  45. extern APTR    GetJanusStart(void);
  46. extern APTR    JanusMemBase(ULONG type);
  47. extern USHORT    JanusMemToOffset(APTR ptr);
  48. extern ULONG    JanusMemType(APTR ptr);
  49. extern APTR    JanusOffsetToMem(USHORT offset, USHORT type);
  50. extern void    JBCopy(APTR source, APTR dest, ULONG len);
  51. extern void    JanusLock(UBYTE *byteptr);
  52. extern BOOL    JanusLockAttempt(UBYTE *byteptr);
  53. extern void    JanusUnlock(UBYTE *byteptr);
  54. extern BYTE *    MakeBytePtr(APTR ptr);
  55. extern BYTE *    MakeWordPtr(APTR ptr);
  56. extern APTR    TranslateJanusPtr(APTR ptr, USHORT type);
  57. extern ULONG    CheckJanusInt(ULONG janusintnr);
  58. extern void    CleanupJanusSig(struct SetupSig *setupsig);
  59. extern SHORT    GetParamOffset(ULONG janusintnr);
  60. extern void    SendJanusInt(ULONG janusintnr);
  61. extern ULONG    SetJanusEnable(ULONG janusintnr, ULONG enable);
  62. extern APTR    SetJanusHandler(ULONG janusintnr, APTR inthandler);
  63. extern ULONG    SetJanusRequest(ULONG janusintnr, ULONG request);
  64. extern USHORT    SetParamOffset(ULONG janusintnr, USHORT offset);
  65. extern struct SetupSig *    SetupJanusSig(USHORT janusintnr, USHORT signr, ULONG size, ULONG type);
  66.  
  67. #endif
  68.